home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / sys / 2b_mv_os2_src.lha / MultiViewPrefs Src / rawkey.e < prev    next >
Encoding:
Text File  |  1999-01-27  |  1.5 KB  |  81 lines

  1. /*
  2.  
  3.   $VER: RawKey PlugIn 1.00 - By Fabio Rotondo (fsoft@intercom.it)
  4.  
  5.         Part of the EasyPLUGINs package
  6.  
  7.   V1.00 - Initial Release
  8.  
  9. */
  10.  
  11. OPT OSVERSION=37
  12. OPT MODULE
  13. OPT EXPORT
  14.  
  15.  
  16. MODULE 'tools/EasyGUI',
  17.        'intuition/intuition',
  18.        'graphics/text',
  19.        'workbench/workbench'
  20.  
  21. CONST PLA_KEY_RIGHT = 78, PLA_KEY_LEFT = 79
  22.  
  23. OBJECT rawkey OF plugin
  24.   PRIVATE
  25.   left
  26.   right
  27.   user
  28. ENDOBJECT
  29.  
  30. PROC init() OF rawkey
  31.   self.left  := NIL
  32.   self.right := NIL 
  33.   self.user  := NIL
  34. ENDPROC
  35.  
  36. PROC end() OF rawkey IS EMPTY
  37.  
  38. PROC will_resize() OF rawkey IS NIL,NIL
  39.  
  40. PROC min_size(ta : PTR TO textattr, fontheight) OF rawkey IS NIL,NIL
  41.  
  42. PROC render(ta : PTR TO textattr, x, y, xs, ys, win : PTR TO window) OF rawkey IS EMPTY
  43.  
  44. PROC clear_render(win : PTR TO window) OF rawkey IS EMPTY
  45.  
  46. PROC message_test(imsg : PTR TO intuimessage, win : PTR TO window) OF rawkey
  47.  
  48.   DEF c,
  49.       x = NIL
  50.  
  51.   IF (imsg.class = IDCMP_RAWKEY) OR (imsg.class = IDCMP_VANILLAKEY)
  52.     c := imsg.code
  53.     SELECT c
  54.       CASE PLA_KEY_RIGHT
  55.         x := self.right
  56.       CASE PLA_KEY_LEFT
  57.         x := self.left
  58.     ENDSELECT
  59.     IF x THEN x(self.user)
  60.   ENDIF
  61. ENDPROC FALSE
  62.  
  63. PROC message_action(class, qual, code, win : PTR TO window) OF rawkey IS EMPTY
  64.  
  65. PROC setattrs(tags : PTR TO LONG) OF rawkey
  66.  
  67.   DEF t,
  68.       v
  69.  
  70.   WHILE (t := Long(tags++))
  71.     v := Long(tags++)
  72.     SELECT t
  73.       CASE PLA_KEY_RIGHT
  74.         self.right := v
  75.       CASE PLA_KEY_LEFT
  76.         self.left  := v
  77.     ENDSELECT
  78.   ENDWHILE
  79. ENDPROC
  80.  
  81.